#ifndef __TELEPHONEBOOK_H_
#define __TELEPHONEBOOK_H_
#include "TelephoneInfo.h"

#define ElementType void* 

struct TelephoneBook;
typedef struct TelephoneBook Telebook;

void Interface(Telebook *t);

Telebook *InitTelebook();

Telebook *InitTelebook();
void Interface(Telebook *t);
void InsertTelebook(Telebook *t);
ElementType RemoveByIndex(Telebook *t, int index);
void RemoveTelebook(Telebook *t, bool (*compare)(ElementType, ElementType));
void FindByElement(Telebook *t, bool (*compare)(ElementType, ElementType));
void ModifyByElement(Telebook *t, bool (*compare)(ElementType, ElementType));
void PrintTelebook(Telebook *t, void (*print)(ElementType));
void ClearTelebook(Telebook *t, void (*clear)(ElementType));

#endif
